Algoritma pertama kali diperkenalkan oleh seorang ahli matematika yaitu Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi. Algoritma adalah urutan dari barisan instruksi untuk menyelesaikan suatu masalah. Ada pun algoritma dapat dinyatakan dalam bentuk flowchart, diagram alir, bahasa semu sedangkan secara bahasa, algoritma berarti suatu metode khusus untuk menyelesaikan suatu masalah yang nyata.
Algoritma kriptografi merupakan langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut. Algoritma kriptografi terdiri dari tiga fungsi dasar. Pertama enkripsi merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data yang dikirim agar terjaga kerahasiaannya. Pesan asli disebut plaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan sebagai cipher atau kode dengan menggunakan algoritma yang untuk mengkodekan data yang kita inginkan. Kedua deskripsi merupakan kebalikan dari proses enkripsi. Pesan yang telah dienkripsi dikembalikan ke bentuk asalnya (teks asli), disebut dengan deskripsi pesan. Algoritma yang digunakan untuk deskripsi tentu berbeda dengan algoritma yang digunakan untuk enkripsi. Ketiga kunci adalah kunci yang dipakai untuk melakukan enkripsi dan deskripsi. Kunci terbagi menjadi dua bagian, kunci rahasia (private key) dan kunci umum (public key).
Algoritma vigenere cipher adalah salah satu jenis kriptografi klasik yang pada dasarnya adalah melakukan substitusi cipher abjad majemuk (polyalphabetic substitution), yaitu mengubah plaintext dengan kunci tertentu biasanya berupa sebuah kata atau kalimat yang berulang sepanjang plaintext sehingga didapatkan ciphertext.
Kode untuk Vigenere cipher dengan visual basic .Net
Public Class Form1
Function Vigenere_Cipher(ByVal Text As String, ByVal key As String, ByVal Encrypt As Boolean)
Dim Result As String = ""
Dim temp As String = ""
Dim j As Integer = 0
For i As Integer = 0 To Text.Length - 1
If j = key.Length Then
j = 0
End If
If Char.IsLetter(key(j)) Then
If Text(i) <> " " And Char.IsLetter(Text(i)) Then
temp += key(j)
j += 1
Else
temp += Text(i)
End If
Else
j += 1
If j >= key.Length Then
j = 0
End If
i -= 1
End If
Next
For i As Integer = 0 To Text.Length - 1
Dim N As Integer
Dim NewAscii As Integer
If Char.IsLetter(Text(i)) Then
If Char.IsLower(temp(i)) Then
N = Asc(temp(i)) - Asc("a")
ElseIf Char.IsUpper(temp(i)) Then
N = Asc(temp(i)) - Asc("A")
End If
If Encrypt Then
NewAscii = N + Asc(Text(i))
Else
NewAscii = 26 - N + Asc(Text(i))
End If
If (NewAscii > Asc("z") And Char.IsLower(Text(i))) Or (NewAscii > Asc("Z") And Char.IsUpper(Text(i))) Then
NewAscii -= 26
End If
Else
NewAscii = Asc(Text(i))
End If
Result += Chr(NewAscii)
Next
Return Result
End Function
Dim x As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
x = txtKunci.Text
txtEnkrip.Text = Vigenere_Cipher(txtPlain.Text, x, True)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
x = txtKunci.Text
txtPlain.Text = Vigenere_Cipher(txtEnkrip.Text, x, False)
End Sub
End Class
Tampilan setelah kode diatas di compile adalah sebagai berikut, silahkan di kembangkan sesuai kebutuhan.
aplikasi ini dapat dicoba : https://github.com/tomycipher/Pemograman-Visual/blob/main/viginereCipher.rar
Assalamualaikum
BalasHapusSaya izin bertanya pak,
Bagaimana langkah-langkah logis menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut? Pak.
Langkah logis menyembunyikan pesan sebenarnya sama seperti mengunci sebuah barang di dalam kotak. jadi untuk membuka barang tersebut. harus dengan kunci kotak. keamanan yang kuat itu sendiri seperti kekuatan kota dan kunci agar tidak dapat dibuka. tunggu update selanjutnya ya agar akan di dibagikan bagaimana konsep didalam komputer mengamankan sebuah data.
BalasHapusPosting Komentar